
package org.example.enums;

/**
 * 业务异常编码定义
 * CODE 值
 * 0 : 正常
 * -1 ：系统内部异常
 * -2 ：数据库操作异常
 * -3 ：参数校验异常
 * -4 : 文件操作异常
 * -5 : 远程调用异常
 * -6 : 业务异常
 *
 * @author tianshuo
 * @version Id: CommonErrorCode.java, v 0.1 2016/7/28 0028 9:47 tianshuo Exp $$
 */
public enum CommonErrorCode implements ErrorCode {


    SUCCESS_MESSAGE("0", "操作成功"),
    /**
     * 该错误码一般是在系统内部处理过程中出现不需要外部系统明确了解（如模型转化错误，非对外服务参数校验不同，内部BUG）时设定的错误码
     */
    SYSTEM_INNER_ERROR("-1", "系统内部错误"),


    /**
     * 执行数据库操作发生异常,具体查看数据库返回的异常信息
     */
    DATA_BASE_ERROR("-2", "数据库操作异常"),

    /**
     * 参数校验不通过 ，有明确具体参数错误原因
     */
    PARAMETER_VALID_NOT_PASS_BY("-3", "参数校验不通过,{0}"),

    /**
     * 文件类型不正确
     */
    FILE_FILETYPE_ERROR("-4", "文件类型不正确"),

    FILE_UPLOAD_ERROR("-4", "文件上传失败"),

    FILE_DOWNLOAD_ERROR("-4", "文件下载失败"),

    /**
     * 请求远程服务超时,最常见的RpcException，如果是dubbo调用超时则返回系统超时
     */
    REMOTE_CALL_ERROR("-5", "请求远程服务超时"),

    /**
     * 业务异常定义
     */
    BIZ_ERROR("-6", "业务异常");


    /**
     * 异常码
     */
    private final String code;

    /**
     * 异常描述
     */
    private final String desc;

    CommonErrorCode(String code, String desc) {
        this.desc = desc;
        this.code = code;
    }

    @Override
    public String getCode() {
        return this.code;
    }

    @Override
    public String getDesc() {
        return this.desc;
    }

}
